home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 35
/
Amiga Format AFCD35 (Issue 119, Jan 1999).iso
/
-in_the_mag-
/
reader_requests
/
fredobbutils
/
bbsrc
/
utilityboot6.0.s
< prev
Wrap
Text File
|
1998-11-06
|
4KB
|
225 lines
*** Code de Bootblock: UTILITY BOOT 6.0 (BY MARC OF SLIPSTREAM)
* an old (OS 1.3 only) utility boot...
* just to show you what you SHOULD NOT do!!!
Start:
move.l 4.w,a6
LB_000C
MOVEM.L D0-D7/A1-A6,-(A7)
; MOVE.W #$0009,$001C(A1)
; CLR.L $0024(A1)
; JSR -$01C8(A6) ;DoIo() - motor off
CMPI.W #$0008,$003E(A6)
BNE.B LB_002C
TST.L $004E(A6)
BEQ.B LB_0036
LB_002C LEA LB_033E(PC),A1
MOVE.L #' ON ',(A1)
LB_0036 CLR.L D0
LEA dskname(PC),A1
JSR -$01F2(A6) ;OpenResource()
MOVE.L D0,A0
LEA $0034(A0),A0
TST.L (A0)+
BEQ.B LB_0052
TST.L (A0)+
BEQ.B LB_0052
TST.L (A0)+
BNE.B LB_005C
LB_0052 LEA LB_032E(PC),A1
MOVE.L #'ON ',(A1)
LB_005C
lea gfxname(pc),a1
jsr -408(a6)
move.l d0,a6
MOVE.L 50(A6),-(A7)
MOVE.L A6,-(A7)
MOVE.W #$00A0,$00DFF096
LEA CopList(PC),A1
MOVE.L A1,50(A6)
LEA $00070000,A1
LB_007C CLR.L (A1)+
CMPA.L #$0007F000,D1
BNE.B LB_007C
MOVE.L (A7),A6
LEA $00041000,A0
MOVEQ #$01,D0 ;Depth
MOVE #768,D1 ;Width
MOVE #256,D2 ;Height
JSR -$0186(A6) ;InitBitMap()
MOVE.L #$00070000,$00041008
LEA $00041100,A1
JSR -$00C6(A6) ;InitRastPort()
MOVE.L #$00041000,$00041104
; LEA $00041100,A1
; MOVEQ #$01,D0
; JSR -$0156(A6) ;SetAPen
LEA LB_0302(PC),A5
LB_00CE LEA $00041100,A1
CLR.L D4
MOVEQ #50,D3
MOVE.B (A5)+,D4
BEQ.B LB_0106
LEA $00041100,A1
MOVE D3,D0
MOVE D4,D1
JSR -$00F0(A6) ;Move()
LEA $00041100,A1
MOVE.L A5,A0
MOVEQ #$1F,D0
JSR -$003C(A6) ;Text()
LEA $001F(A5),A5
BRA.B LB_00CE
LB_0106 MOVE.W #$8380,$00DFF096
CLR.B $00BFEC01
MOVE.L 4.W,A6
MOVE.L #$0004A000,D4
BSR.B LB_0146
BEQ.B LB_0150
TST.L $002A(A6)
BNE.B LB_0134
TST.L $002E(A6)
BNE.B LB_0134
TST.L $022A(A6)
BEQ.B LB_015A
LB_0134 MOVE.W D4,$00DFF180
DBF D4,LB_0134
LB_013E CLR.L $0026(A6)
BRA.W LB_026A
LB_0146 BTST #$02,$00DFF016
RTS
LB_0150 LEA LB_02FC(PC),A0
MOVE.B $0000000C,(A0)
LB_015A SUBQ.L #1,D4
BEQ.B LB_01B4
BTST #$06,$00BFE001
BEQ.B LB_01B4
BSR.B LB_0146
BNE.B LB_017C
SUBQ.L #1,D3
BNE.B LB_017C
MOVE.W #$1666,D3
BCHG #$01,$00BFE001
LB_017C MOVE.B $00BFEC01,D0
NOT.B D0
CMP.W #$00A0,D0
BEQ.W LB_0252
CMP.B #$A2,D0
BEQ.W LB_0222
CMP.B #$A4,D0
BEQ.W LB_026A
CMP.B #$A6,D0
BEQ.B LB_013E
CMP.B #$A8,D0
BEQ.B LB_013E
CMP.B #$AA,D0
BEQ.B LB_01D8
BRA.B LB_015A
LB_01B4 BSR.B LB_01C8
*** boot system
LEA dosname(PC),A1
JSR -96(A6)
MOVE.L D0,A0
MOVE.L 22(A0),A0
MOVEQ #0,D0
RTS
LB_01C8 MOVE.L (A7)+,A0
MOVE.L (A7)+,A6
MOVE.L (A7)+,50(A6) ;old coplist
MOVEM.L (A7)+,D0-D7/A1-A6
MOVE.L A0,-(A7)
RTS
LB_01D8 BSR.B LB_01C8
LEA LB_032E(PC),A0
MOVE.L #'OFF ',(A0)
LEA LB_033E(PC),A0
MOVE.L #' OFF',(A0)
LEA LB_02FC(PC),A0
CLR.W (A0)
*** Install bootblock
MOVE.W #$0003,$001C(A1)
BSR.B LB_0208
MOVE.W #$0004,$001C(A1)
BSR.B LB_0208
BRA.W LB_000C
LB_0208 LEA Start(PC),A0
MOVE.L A0,$0028(A1)
MOVE.L #$00000400,$0024(A1)
CLR.L $002C(A1)
JMP -$01C8(A6)
LB_0222 MOVE.L A6,A0
LEA $00FC0280,A5
LB_022A CMPI.W #$21FC,-(A5)
BNE.B LB_022A
SUBA.L A4,A4
LEA $00000676,A6
LEA $00080000,A3
LEA $00DFF096,A1
MOVE.L #$7FFF7FFF,D0
MOVE.L D0,(A1)+
MOVE.L D0,(A1)+
JMP -$001E(A0)
LB_0252 LEA $0007F000,A1
LEA LB_0274(PC),A0
MOVE.L A1,$002E(A6)
MOVEQ #$1F,D0
LB_0262 MOVE.L (A0)+,(A1)+
DBF D0,LB_0262
BSR.B LB_0286
LB_026A LEA $00FC00D0,A5
JMP -$001E(A6)
LB_0274 CLR.L $002E(A6)
LEA LB_029A(PC),A0
MOVE.L -$0064(A6),$0040(A0)
MOVE.L A0,-$0064(A6)
LB_0286 LEA $0022(A6),A0
CLR.W D0
MOVEQ #$17,D1
LB_028E ADD.W (A0)+,D0
DBF D1,LB_028E
NOT.W D0
MOVE.W D0,(A0)
RTS
LB_029A CMPI.W #$6469,$001A(A1)
BNE.B LB_02D8
MOVEM.L D0-A0/A2-A5,-(A7)
LEA LB_02E2(PC),A0
MOVE.L A0,D0
MOVE.W #$00FF,D2
LB_02B0 MOVE.W (A1)+,D1
CMP.W #$0005,D1
BNE.B LB_02BA
ADDQ.W #1,D1
LB_02BA MOVE.W D1,(A0)+
DBF D2,LB_02B0
MOVE.L -$01EA(A1),A2
SUBA.L A1,A2
ADDA.L A0,A2
MOVE.L A2,-$01EA(A0)
MOVE.L D0,A1
MOVEM.L (A7)+,D0-A0/A2-A5
MOVE.L CopList(PC),-$0064(A6)
LB_02D8
dc.w $4ef9
CopList:
DC.w $0100,$1200,$0092,$0020
LB_02E2 DC.w $0094,$00D8,$008E,$3000
DC.w $0090,$30FF,$00E0,$0007
DC.w $00E2,$0870,$0182,$0FFF
DC.w $0180
LB_02FC dc.w $0000,$FFFF,$FFFE
dskname DC.B 'disk.resource',0
gfxname dc.b 'graphics.library',0
dosname DC.B 'dos.library',0
even
LB_0302
DC.B ' VIRUS KILLER/UTILITY BOOT V6.0-DRIVES ARE '
LB_032E
DC.B 'OFF MEMORY IS'
LB_033E
DC.B ' OFF?F1 DRIVES OFF F2 MEMORY OFFIF3 DRIVES O'
DC.B 'N F4 MEMORY ON SF5 HARD RESET F6 INSTALL '
DC.B 'BOOTfL.MOUSE EXIT R.MOUSE FILTERr CODED BY '
DC.B 'MARC OF SLIPSTREAM ',0
DC.B 0